[PHP] ปัญหา Cannot send session cache limiter headers already sent

เขียนเมื่อ : 24 ม.ค. 2555 จำนวนผู้ชม : 163

เนื่องจากเวลาทำเว็บ PHP มักนิยม encoding ด้วย UTF-8 เสมอไม่เคยเจอปัญหา เพิ่งจะมาเจอก็ตอนเปลี่ยนมาใช้ Notepad++ ในการเขียน PHP แทน Adobe Dreamweaver เพราะไม่ค่อยได้ใช้ในการ Design แค่ Code อย่างเดียว ปัญหาที่เจอเคือการใช้งาน Session ดังนี้
1 <?php
2 session_start();
3 echo "Session Start...";
4 ?>

ดูผ่านๆ ไม่น่ามีปัญหาอะไร แต่เจอ Errorแบบนี้

1 Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at xxx) in xxx

ก็หน้ามืดไปเกือบ ชั่วโมงได้ สุดท้ายพบว่าเป็นที่ Notepad++ เนื่องจาก Default Encoding ผมกำหนดเป็น UTF-8 ดังรูป
php-utf8-encoding-problem
ตัว Notepad++ เพิ่มข้อความอะไรสักอย่างในไฟล์ ดังนี้ (เปิดจากไฟล์ปกติจะไม่เจอ ที่เจอเนื่องจากลองใช้ Java อ่านข้อมูลออกมา)

1 ๏ปฟ<?php
2 session_start();
3 echo "Session Start...";
4 ?>

ทำให้เกิด error ดังกล่าว วิธีแก้ไขให้ บันทึกรูปแบบ Encoding เป็น Encoding UTF-8 Without BOM ดังรูป
php-utf8-encoding-problem
หวังว่าคนที่เจอปัญหาเดียวกันจะได้แก้ไขได้ถูกทางครับ

ที่มา : http://www.secondknow.com


MENU NEWS
MENU Articile
MENU GAME
MENU MEDIA
ข่าวหรือบทความในเว็บไซต์ Cafe.Chonburi.Org ที่เขียนขึ้นโดยทีมงาน ใช้สัญญาอนุญาต Creative Commons (CC) สามารถนำไปเผยแพร่ต่อโดยไม่จำเป็นต้องขออนุญาต แต่ต้องบอกที่มาของข่าวด้วยเสมอ สนใจบริการ หรือต้องการติดต่อสอบถามสามารถติดต่อได้ที่ หมายเลขโทรศัพท์ 086-8344803 Email : mr_fff2005@hotmail.com